In computer science, a work item is a piece of information defining a task or a set of related tasks to be carried out by a user or process. A workflow system is a data processing system for managing a flow of work items, typically in a distributed office environment. Typically, the workflow system has interfaces to various data stores which store documents to be processed and handled by the workflow system, and the workflow system provides these documents to the users when needed. A workflow system commonly contains at least a workflow modeling component (sometimes called specification module, design environment, or build time system) which enables administrators and analysts to define process and activities, analyze and simulate them, and assign them to people. A workflow system typically also contains a workflow execution component (sometimes called the run-time system) which most often consists of an execution interface seen by end-users and a workflow engine. The workflow engine is an execution environment which assists or performs the coordination of processes and activities.
As depicted in FIG. 1, most workflow systems provide a client/server architecture, that is, an application architecture in which an instance of a client software, for example, an application 100 using a graphical user interface, can send work item requests to a server, for example, a service or component 101 of the workflow system to deliver work items from an associated database 102. By a work item request is meant any request identifying at least one work item, for example, according to a set of selection criteria.
For instance, client applications may query the server to retrieve work items in a specific state, with specific properties for a specific user/group. This query is then transformed into native standard query language (SQL) queries against the server database. Because of the complex schema of this database, work item queries are often expensive and time consuming. This leads to sluggish responses on the client application.
An existing solution for improving responses to work item queries is the use of materialized views in the work item database 102. This solution is discussed in the IBM whitepaper “WebSphere Process Server V6—Business Process Choreographer: Performance Tuning of Human Workflows Using Materialized Views.” The problem in using materialized views is that it depends on the query criteria whether it is possible to use materialized views. The processing of all work item queries is thus not made more efficient.
The invention that is presented here aims to address the response time problem in a manner that improves the processing of at least most of the queries.